STACKS
이 명령어는 하드웨어 인터럽트를 조정하기 위해 데이터 스택의 역동적으로 사용할 수 있도록 지원하는 것으로 Config.sys 파일에 지정되어야 한다.
스택을 지정할 때 스택의 수와 크기를 지정할 수 있는데, 일반적으로 스택의 수는 컴퓨터에 설치되어 있는 장치의 수보다 많이 지정하고 스택의 크기는 장치 중에서 사용하는 최대 크기보다 큰 크기로 32바이트 단위로 지정한다.
만약, 32바이트 단위로 지정하지 않은 경우에는 32바이트 배수를 제외한 나머지는 스택의 크기로 사용되지 않는다. 즉, 사용자가 스택의 크기로 63바이트를 지정하면 실제로 사용되는 스텍의 크기는 32바이트가 되는 것이다.
■ 사용법
STACKS=n,s
■ 옵션 및 매개변수

n | 스택의 수를 지정한다. n에 지정할 수 있는 값은 0 혹은 8∼64 사이의 값이다.
s | 각 스택의 크기를 바이트 단위로 지정한다. s에 지정할 수 있는 값은 0 혹은 32∼512 사이의 값이다.

■ 참고 사항
☞ 디폴트 설정
STACKS 명령어에 아무런 값을 지정하지 않는 경우에 사용되는 스택의 수와 크기에 대한 디폴트 값은 컴퓨터 사양에 따라 다르다.
예를 들어, IBM PC의 경우에는 n과 s가 각각 0,0이 디폴트 값이고, IBM PC 이외의 사양에서는 9,128이 디폴트 값으로 사용된다.
☞ 스택 할당의 특별한 경우
응용 프로그램이 하드웨어를 사용하기 위해 인터럽트를 요청하면 DOS는 지정된 스택 수 내에서 하나의 스택을 할당한다. 만약, 사용자가 n과 s에 각각 0,0을 지정한 경우 DOS는 스택을 할당하지 않는다.
이 경우 각각의 실행하는 프로그램은 컴퓨터의 하드웨어 인터럽트를 수용할 수 있는 충분한 스택 영역을 가질 수 없게 된다.
많은 컴퓨터들이 0의 n과 s 값으로 프로그램을 위해 약간의 메모리를 비축하면서 정상적으로 작동한다. 그러나 이런 값을 지정한 경우에 컴퓨터가 정상적으로 작동하지 않는다면 스택 값을 지정해 준다.
☞ 스택의 증가
STACKS의 값으로 0,0으로 지정되지 않은 상태에서 "Stack overflow" 나 "Exception error 12"가 발생한 경우에는 자동으로 스택의 크기나 숫자가 증가된다. 만약, 스택의 값으로 0,0이 지정된 경우에는 스택의 크기는 증가하지 않는다.
■ 사용 예
512바이트 단위의 스택 8개를 하드웨어 인터럽트 조정에 할당하고자 하는 경우에, 다음과 같은 STACKS 명령어를 Config.sys 파일에 추가한다.
stacks=8,512
위의 예에서 2KB의 메모리가 스택으로 사용되기 때문에 그만큼 프로그램을 위한 메모리가 줄어든다. 따라서 이 명령어는 꼭 필요한 경우가 아니면 되도록 사용을 지양하는 것이 좋다.